package com.wzy.xxgl.service.impl;

import java.util.List;

import com.wzy.common.exception.ServiceException;
import com.wzy.common.utils.DateUtils;
import com.wzy.xxgl.domain.dto.StudentSelectDataDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.wzy.xxgl.mapper.XxglXsxxMapper;
import com.wzy.xxgl.domain.XxglXsxx;
import com.wzy.xxgl.service.IXxglXsxxService;

/**
 * 信息管理-学生信息Service业务层处理
 * 
 * @author wzy
 * @date 2025-10-12
 */
@Service
public class XxglXsxxServiceImpl implements IXxglXsxxService 
{
    @Autowired
    private XxglXsxxMapper xxglXsxxMapper;

    /**
     * 查询信息管理-学生信息
     * 
     * @param studentId 信息管理-学生信息主键
     * @return 信息管理-学生信息
     */
    @Override
    public XxglXsxx selectXxglXsxxByStudentId(Long studentId)
    {
        return xxglXsxxMapper.selectXxglXsxxByStudentId(studentId);
    }

     /**
     * 查询信息管理-学生信息详细信息（根据当前登录用户ID）
     *
     * @param currentUserId 当前登录用户ID
     * @return 信息管理-学生信息
     */
    @Override
    public XxglXsxx getInfoByCurrentUserId(Long currentUserId)
    {
        return xxglXsxxMapper.getInfoByCurrentUserId(currentUserId);
    }

    /**
     * 查询信息管理-学生信息列表
     * 
     * @param xxglXsxx 信息管理-学生信息
     * @return 信息管理-学生信息
     */
    @Override
    public List<XxglXsxx> selectXxglXsxxList(XxglXsxx xxglXsxx)
    {
        return xxglXsxxMapper.selectXxglXsxxList(xxglXsxx);
    }

    /**
     * 查询学生信息表 学生下拉框内容
     *
     * @return 学生下拉框内容
     */
    @Override
    public List<StudentSelectDataDto> getStudentSelect()
    {
        return xxglXsxxMapper.getStudentSelect();
    }

    /**
     * 新增信息管理-学生信息
     * 
     * @param xxglXsxx 信息管理-学生信息
     * @return 结果
     */
    @Override
    public int insertXxglXsxx(XxglXsxx xxglXsxx)
    {
        xxglXsxx.setCreateTime(DateUtils.getNowDate());
        return xxglXsxxMapper.insertXxglXsxx(xxglXsxx);
    }

    /**
     * 修改信息管理-学生信息
     * 
     * @param xxglXsxx 信息管理-学生信息
     * @return 结果
     */
    @Override
    public int updateXxglXsxx(XxglXsxx xxglXsxx)
    {
        xxglXsxx.setUpdateTime(DateUtils.getNowDate());
        return xxglXsxxMapper.updateXxglXsxx(xxglXsxx);
    }

    /**
     * 批量删除信息管理-学生信息
     * 
     * @param studentIds 需要删除的信息管理-学生信息主键
     * @return 结果
     */
    @Override
    public int deleteXxglXsxxByStudentIds(Long[] studentIds)
    {
        return xxglXsxxMapper.deleteXxglXsxxByStudentIds(studentIds);
    }

    /**
     * 删除信息管理-学生信息信息
     * 
     * @param studentId 信息管理-学生信息主键
     * @return 结果
     */
    @Override
    public int deleteXxglXsxxByStudentId(Long studentId)
    {
        return xxglXsxxMapper.deleteXxglXsxxByStudentId(studentId);
    }
}
